/*     */ package com.zimbra.cs.ldap;
/*     */ 
/*     */ import com.google.common.collect.Lists;
/*     */ import com.zimbra.common.util.CsvWriter;
/*     */ import com.zimbra.cs.ldap.unboundid.UBIDLdapFilterFactory;
/*     */ import java.io.FileWriter;
/*     */ import java.io.IOException;
/*     */ import java.io.PrintStream;
/*     */ import java.util.Collection;
/*     */ import java.util.List;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public abstract class ZLdapFilterFactory
/*     */   extends ZLdapElement
/*     */ {
/*     */   private static ZLdapFilterFactory SINGLETON;
/*     */   
/*     */   static synchronized void setInstance(ZLdapFilterFactory factory)
/*     */   {
/*  37 */     assert (SINGLETON == null);
/*  38 */     SINGLETON = factory;
/*     */   }
/*     */   
/*     */   public static ZLdapFilterFactory getInstance() {
/*  42 */     assert (SINGLETON != null);
/*  43 */     return SINGLETON;
/*     */   }
/*     */   
/*     */   public static enum FilterId {
/*  47 */     ACCOUNT_BY_ID(ZLdapFilterFactory.SINGLETON.accountById("{ACCOUNT-ID}")), 
/*  48 */     ACCOUNT_BY_FOREIGN_PRINCIPAL(ZLdapFilterFactory.SINGLETON.accountByForeignPrincipal("{FOREIGN-PRINCIPAL}")), 
/*  49 */     ACCOUNT_BY_MEMBEROF(ZLdapFilterFactory.SINGLETON.accountByMemberOf("{DYNAMIC-GROUP-ID}")), 
/*  50 */     ACCOUNT_BY_NAME(ZLdapFilterFactory.SINGLETON.accountByName("{ACCOUNT-NAME}")), 
/*  51 */     ACCOUNTS_BY_GRANTS(ZLdapFilterFactory.SINGLETON.accountsByGrants(Lists.newArrayList(new String[] { "{GRANTEE-ID-1}", "{GRANTEE-ID-2}", "..." }), true, true)), 
/*  52 */     ACCOUNTS_HOMED_ON_SERVER(ZLdapFilterFactory.SINGLETON.accountsHomedOnServer("{SERVER-SERVICE-HOSTNAME}")), 
/*  53 */     ACCOUNTS_HOMED_ON_SERVER_ACCOUNTS_ONLY(ZLdapFilterFactory.SINGLETON.accountsHomedOnServerAccountsOnly("{SERVER-SERVICE-HOSTNAME}")), 
/*  54 */     ACCOUNTS_ON_SERVER_AND_COS_HAS_SUBORDINATES(ZLdapFilterFactory.SINGLETON.accountsOnServerAndCosHasSubordinates("{SERVER-SERVICE-HOSTNAME}", "{COS-ID}")), 
/*  55 */     ACCOUNTS_ON_UCSERVICE(ZLdapFilterFactory.SINGLETON.accountsOnUCService("{UCSERVICE-ID}")), 
/*     */     
/*  57 */     ADDRS_EXIST(ZLdapFilterFactory.SINGLETON.addrsExist(new String[] { "{ADDR-1}", "{ADDR-2}", "..." })), 
/*  58 */     ADMIN_ACCOUNT_BY_RDN(ZLdapFilterFactory.SINGLETON.adminAccountByRDN("{NAMING-RDN-ATTR}", "{NAME}")), 
/*  59 */     ALL_ACCOUNTS(ZLdapFilterFactory.SINGLETON.allAccounts()), 
/*  60 */     ALL_ACCOUNTS_ONLY(ZLdapFilterFactory.SINGLETON.allAccountsOnly()), 
/*  61 */     ALL_ADMIN_ACCOUNTS(ZLdapFilterFactory.SINGLETON.allAdminAccounts()), 
/*  62 */     ALL_ALIASES(ZLdapFilterFactory.SINGLETON.allAliases()), 
/*  63 */     ALL_CALENDAR_RESOURCES(ZLdapFilterFactory.SINGLETON.allCalendarResources()), 
/*  64 */     ALL_COSES(ZLdapFilterFactory.SINGLETON.allCoses()), 
/*  65 */     ALL_DATA_SOURCES(ZLdapFilterFactory.SINGLETON.allDataSources()), 
/*  66 */     ALL_DISTRIBUTION_LISTS(ZLdapFilterFactory.SINGLETON.allDistributionLists()), 
/*  67 */     ALL_DOMAINS(ZLdapFilterFactory.SINGLETON.allDomains()), 
/*  68 */     ALL_GROUPS(ZLdapFilterFactory.SINGLETON.allGroups()), 
/*  69 */     ALL_IDENTITIES(ZLdapFilterFactory.SINGLETON.allIdentities()), 
/*  70 */     ALL_MIME_ENTRIES(ZLdapFilterFactory.SINGLETON.allMimeEntries()), 
/*  71 */     ALL_NON_SYSTEM_ACCOUNTS(ZLdapFilterFactory.SINGLETON.allNonSystemAccounts()), 
/*  72 */     ALL_NON_SYSTEM_ARCHIVING_ACCOUNTS(ZLdapFilterFactory.SINGLETON.allNonSystemArchivingAccounts()), 
/*  73 */     ALL_NON_SYSTEM_INTERNAL_ACCOUNTS(ZLdapFilterFactory.SINGLETON.allNonSystemInternalAccounts()), 
/*  74 */     ALL_SERVERS(ZLdapFilterFactory.SINGLETON.allServers()), 
/*  75 */     ALL_ALWAYSONCLUSTERS(ZLdapFilterFactory.SINGLETON.allAlwaysOnClusters()), 
/*  76 */     ALL_UC_SERVICES(ZLdapFilterFactory.SINGLETON.allUCServices()), 
/*  77 */     ALL_SIGNATURES(ZLdapFilterFactory.SINGLETON.allSignatures()), 
/*  78 */     ALL_XMPP_COMPONENTS(ZLdapFilterFactory.SINGLETON.allXMPPComponents()), 
/*  79 */     ALL_ZIMLETS(ZLdapFilterFactory.SINGLETON.allZimlets()), 
/*  80 */     ANY_ENTRY(ZLdapFilterFactory.SINGLETON.anyEntry()), 
/*  81 */     CALENDAR_RESOURCE_BY_FOREIGN_PRINCIPAL(ZLdapFilterFactory.SINGLETON.calendarResourceByForeignPrincipal("{FOREIGN-PRINCIPAL}")), 
/*  82 */     CALENDAR_RESOURCE_BY_ID(ZLdapFilterFactory.SINGLETON.calendarResourceById("{CALENDAR-RESOURCE-ID}")), 
/*  83 */     CALENDAR_RESOURCE_BY_NAME(ZLdapFilterFactory.SINGLETON.calendarResourceByName("{CALENDAR-RESOURCE-NAME}")), 
/*  84 */     CALENDAR_RESOURCES_HOMED_ON_SERVER(ZLdapFilterFactory.SINGLETON.calendarResourcesHomedOnServer("{SERVER-SERVICE-HOSTNAME}")), 
/*     */     
/*  86 */     CMB_SEARCH_ACCOUNTS_ONLY(ZLdapFilterFactory.SINGLETON.CMBSearchAccountsOnly()), 
/*  87 */     CMB_SEARCH_ACCOUNTS_ONLY_WITH_ARCHIVE(ZLdapFilterFactory.SINGLETON.CMBSearchAccountsOnlyWithArchive()), 
/*  88 */     CMB_SEARCH_NON_SYSTEM_RESOURCE_ACCOUNTS_ONLY(ZLdapFilterFactory.SINGLETON.CMBSearchNonSystemResourceAccountsOnly()), 
/*     */     
/*  90 */     COS_BY_ID(ZLdapFilterFactory.SINGLETON.cosById("{COS-ID}")), 
/*  91 */     COSES_BY_MAILHOST_POOL(ZLdapFilterFactory.SINGLETON.cosesByMailHostPool("{SERVER-ID}")), 
/*  92 */     COSES_ON_UCSERVICE(ZLdapFilterFactory.SINGLETON.cosesOnUCService("{UCSERVICE-ID}")), 
/*     */     
/*  94 */     CREATED_LATEROREQUAL(ZLdapFilterFactory.SINGLETON.createdLaterOrEqual("{GENERALIZED_TIME}")), 
/*  95 */     DATA_SOURCE_BY_ID(ZLdapFilterFactory.SINGLETON.dataSourceById("{DATA-SOURCE-ID}")), 
/*  96 */     DATA_SOURCE_BY_NAME(ZLdapFilterFactory.SINGLETON.dataSourceByName("{DATA-SOURCE-NAME}")), 
/*  97 */     DISTRIBUTION_LIST_BY_ID(ZLdapFilterFactory.SINGLETON.distributionListById("{DISTRIBUTION-LIST-ID}")), 
/*  98 */     DISTRIBUTION_LIST_BY_NAME(ZLdapFilterFactory.SINGLETON.distributionListByName("{DISTRIBUTION-LIST-NAME}")), 
/*  99 */     DISTRIBUTION_LISTS_BY_MEMBER_ADDRS(ZLdapFilterFactory.SINGLETON.distributionListsByMemberAddrs(new String[] { "{ADDR-1}", "ADDR-2", "..." })), 
/*     */     
/* 101 */     DN_SUBTREE_MATCH(ZLdapFilterFactory.SINGLETON.dnSubtreeMatch(new String[] { "dn1", "dn2" })), 
/*     */     
/* 103 */     DOMAIN_ALIASES(ZLdapFilterFactory.SINGLETON.domainAliases("{DOMAIN-ID}")), 
/* 104 */     DOMAIN_BY_ID(ZLdapFilterFactory.SINGLETON.domainById("{DOMAIN-ID}")), 
/* 105 */     DOMAINS_BY_IDS(ZLdapFilterFactory.SINGLETON.dynamicGroupByIds(new String[] { "{DOMAIN-ID-1}", "DOMAIN-ID-2", "..." })), 
/* 106 */     DOMAIN_BY_NAME(ZLdapFilterFactory.SINGLETON.domainByName("{DOMAIN-NAME}")), 
/* 107 */     DOMAIN_BY_KRB5_REALM(ZLdapFilterFactory.SINGLETON.domainByKrb5Realm("{DOMAIN-KRB5-REALM}")), 
/* 108 */     DOMAIN_BY_VIRTUAL_HOSTNAME(ZLdapFilterFactory.SINGLETON.domainByVirtualHostame("{DOMAIN-VIRTUAL-HOSTNAME}")), 
/* 109 */     DOMAIN_BY_FOREIGN_NAME(ZLdapFilterFactory.SINGLETON.domainByForeignName("{DOMAIN-FOREIGN-NAME}")), 
/* 110 */     DOMAIN_LABEL(ZLdapFilterFactory.SINGLETON.domainLabel()), 
/* 111 */     DOMAIN_LOCKED_FOR_AUTO_PROVISION(ZLdapFilterFactory.SINGLETON.domainLockedForEagerAutoProvision()), 
/* 112 */     DOMAINS_ON_UCSERVICE(ZLdapFilterFactory.SINGLETON.domainsOnUCService("{UCSERVICE-ID}")), 
/*     */     
/* 114 */     ALL_DYNAMIC_GROUPS(ZLdapFilterFactory.SINGLETON.allDynamicGroups()), 
/* 115 */     DYNAMIC_GROUP_BY_ID(ZLdapFilterFactory.SINGLETON.dynamicGroupById("{DYNAMIC-GROUP-ID}")), 
/* 116 */     DYNAMIC_GROUP_BY_IDS(ZLdapFilterFactory.SINGLETON.dynamicGroupByIds(new String[] { "{GROUP-ID-1}", "GROUP-ID-2", "..." })), 
/* 117 */     DYNAMIC_GROUP_BY_NAME(ZLdapFilterFactory.SINGLETON.dynamicGroupByName("{DYNAMIC-GROUP-NAME}")), 
/* 118 */     DYNAMIC_GROUP_DYNAMIC_UNIT_BY_MAIL_ADDR(ZLdapFilterFactory.SINGLETON.dynamicGroupDynamicUnitByMailAddr("{ADDR}")), 
/* 119 */     DYNAMIC_GROUPS_STATIC_UNIT_BY_MEMBER_ADDR(ZLdapFilterFactory.SINGLETON.dynamicGroupsStaticUnitByMemberAddr("{ADDR}")), 
/*     */     
/* 121 */     EXTERNAL_ACCOUNTS_HOMED_ON_SERVER(ZLdapFilterFactory.SINGLETON.externalAccountsHomedOnServer("{SERVER-SERVICE-HOSTNAME}")), 
/* 122 */     GLOBAL_CONFIG(ZLdapFilterFactory.SINGLETON.globalConfig()), 
/* 123 */     GROUP_BY_ID(ZLdapFilterFactory.SINGLETON.groupById("{GROUP-ID}")), 
/* 124 */     GROUP_BY_NAME(ZLdapFilterFactory.SINGLETON.groupByName("{GROUP-NAME}")), 
/* 125 */     HAS_SUBORDINATES(ZLdapFilterFactory.SINGLETON.hasSubordinates()), 
/* 126 */     HOMED_ON_SERVER(ZLdapFilterFactory.SINGLETON.homedOnServer("{SERVER-SERVICE-HOSTNAME}")), 
/* 127 */     IDENTITY_BY_NAME(ZLdapFilterFactory.SINGLETON.identityByName("{IDENTITY-NAME}")), 
/* 128 */     MEMBER_OF(ZLdapFilterFactory.SINGLETON.memberOf("{DN-OF-GROUP}")), 
/* 129 */     MIME_ENTRY_BY_MIME_TYPE(ZLdapFilterFactory.SINGLETON.mimeEntryByMimeType("{MIME-TYPE}")), 
/*     */     
/* 131 */     SERVER_BY_ID(ZLdapFilterFactory.SINGLETON.serverById("{SERVER-ID}")), 
/* 132 */     SERVER_BY_SERVICE(ZLdapFilterFactory.SINGLETON.serverByService("{SERVICE}")), 
/* 133 */     SERVER_BY_ALWAYSONCLUSTER(ZLdapFilterFactory.SINGLETON.serverByAlwaysOnCluster("{ALWAYSONCLUSTER-ID}")), 
/* 134 */     SERVERY_BY_SERVICE_AND_ALWAYSONCLUSTER(ZLdapFilterFactory.SINGLETON.serverByServiceAndAlwaysOnCluster("{SERVICE}", "{ALWAYSONCLUSTER-ID}")), 
/* 135 */     ALWAYSONCLUSTER_BY_ID(ZLdapFilterFactory.SINGLETON.alwaysOnClusterById("{ALWAYSONCLUSTER-ID}")), 
/* 136 */     UC_SERVICE_BY_ID(ZLdapFilterFactory.SINGLETON.ucServiceById("{SERVER-ID}")), 
/* 137 */     SHARE_LOCATOR_BY_ID(ZLdapFilterFactory.SINGLETON.shareLocatorById("{SHARE-LOCATOR-ID}")), 
/* 138 */     SIGNATURE_BY_ID(ZLdapFilterFactory.SINGLETON.signatureById("{SIGNATURE-ID}")), 
/* 139 */     XMPP_COMPONENT_BY_ID(ZLdapFilterFactory.SINGLETON.xmppComponentById("{XMPP-COMPOMENT-ID}")), 
/* 140 */     XMPP_COMPONENT_BY_ZIMBRA_XMPP_COMPONENT_ID(ZLdapFilterFactory.SINGLETON.imComponentById("{ZIMBRA-XMPP-COMPOMENT-ID}")), 
/*     */     
/*     */ 
/* 143 */     VELODROME_ALL_ACCOUNTS_BY_DOMAIN(ZLdapFilterFactory.SINGLETON.velodromeAllAccountsByDomain("{DOMAIN-NAME}")), 
/* 144 */     VELODROME_ALL_ACCOUNTS_ONLY_BY_DOMAIN(ZLdapFilterFactory.SINGLETON.velodromeAllAccountsOnlyByDomain("{DOMAIN-NAME}")), 
/* 145 */     VELODROME_ALL_CALENDAR_RESOURCES_BY_DOMAIN(ZLdapFilterFactory.SINGLETON.velodromeAllCalendarResourcesByDomain("{DOMAIN-NAME}")), 
/* 146 */     VELODROME_ALL_ACCOUNTS_BY_DOMAIN_AND_SERVER(ZLdapFilterFactory.SINGLETON.velodromeAllAccountsByDomainAndServer("{DOMAIN-NAME}", "{SERVER-SERVICE-HOSTNAME}")), 
/* 147 */     VELODROME_ALL_ACCOUNTS_ONLY_BY_DOMAIN_AND_SERVER(ZLdapFilterFactory.SINGLETON.velodromeAllAccountsOnlyByDomainAndServer("{DOMAIN-NAME}", "{SERVER-SERVICE-HOSTNAME}")), 
/* 148 */     VELODROME_ALL_CALENDAR_RESOURCES_BY_DOMAIN_AND_SERVER(ZLdapFilterFactory.SINGLETON.velodromeAllCalendarResourcesByDomainAndServer("{DOMAIN-NAME}", "{SERVER-SERVICE-HOSTNAME}")), 
/* 149 */     VELODROME_ALL_DISTRIBUTION_LISTS_BY_DOMAIN(ZLdapFilterFactory.SINGLETON.velodromeAllDistributionListsByDomain("{DOMAIN-NAME}")), 
/* 150 */     VELODROME_ALL_GROUPS_BY_DOMAIN(ZLdapFilterFactory.SINGLETON.velodromeAllGroupsByDomain("{DOMAIN-NAME}")), 
/*     */     
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 157 */     ACCOUNT_BY_SSL_CLENT_CERT_PRINCIPAL_MAP(ZLdapFilterFactory.SINGLETON.allAccounts() + " AND " + "filter in " + "zimbraMailSSLClientCertPrincipalMap"), 
/*     */     
/* 159 */     ADMIN_SEARCH("Admin search"), 
/* 160 */     AUTO_PROVISION_ADMIN_SEARCH("Admin entered filter"), 
/* 161 */     AUTO_PROVISION_SEARCH("Filter in zimbraAutoProvLdapSearchFilter"), 
/* 162 */     AUTO_PROVISION_SEARCH_CREATED_LATERTHAN("Filter in zimbraAutoProvLdapSearchFilter AND " + ZLdapFilterFactory.SINGLETON.createdLaterOrEqual("{GENERALIZED_TIME}")), 
/*     */     
/*     */ 
/* 165 */     EXTERNAL_GROUP("Filter in zimbraExternalGroupLdapSearchFilter"), 
/* 166 */     GAL_SEARCH("GAL search"), 
/* 167 */     LDAP_AUTHENTICATE("Filter in zimbraAuthLdapSearchFilter"), 
/* 168 */     NGINX_GET_DOMAIN_BY_SERVER_IP("Filter in "), 
/* 169 */     NGINX_GET_PORT_BY_MAILHOST("Filter in "), 
/* 170 */     NGINX_GET_MAILHOST("Filter in zimbraReverseProxyMailHostQuery"), 
/* 171 */     RENAME_DOMAIN("Search entries during RenameDomain"), 
/* 172 */     SEARCH_ALIAS_TARGET("Search alias target entry"), 
/* 173 */     SEARCH_GRANTEE("Search grantee for revoking orphan grants"), 
/* 174 */     SMIME_LOOKUP("Filter in zimbraSMIMELdapFilter"), 
/*     */     
/* 176 */     UNITTEST("UNITTEST"), 
/* 177 */     LDAP_UPGRADE("LDAP_UPGRADE"), 
/* 178 */     ZMCONFIGD("ZMCONFIGD"), 
/*     */     
/* 180 */     TODO("TODO");
/*     */     
/*     */     private final String template;
/*     */     
/*     */     private FilterId(ZLdapFilter template) {
/* 185 */       this(template.toFilterString());
/*     */     }
/*     */     
/*     */     private FilterId(String template) {
/* 189 */       this.template = template;
/*     */     }
/*     */     
/*     */     public String getStatString() {
/* 193 */       return LdapOp.SEARCH.name() + "_" + name();
/*     */     }
/*     */     
/*     */     private String getTemplate() {
/* 197 */       return this.template;
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void main(String[] args)
/*     */     throws IOException, LdapException
/*     */   {
/* 209 */     if (args.length != 1) {
/* 210 */       System.out.println("usage: zmjava " + ZLdapFilterFactory.class.getCanonicalName() + " <output file name>");
/*     */       
/* 212 */       System.exit(1);
/*     */     }
/*     */     
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 226 */     UBIDLdapFilterFactory.initialize();
/* 227 */     ZLdapFilterFactory filterFactory = new UBIDLdapFilterFactory();
/* 228 */     setInstance(filterFactory);
/*     */     
/* 230 */     String fileName = args[0];
/* 231 */     CsvWriter writer = new CsvWriter(new FileWriter(fileName));
/*     */     
/* 233 */     writer.writeRow(new String[] { "filtername", "template" });
/*     */     
/* 235 */     for (FilterId filterId : FilterId.values()) {
/* 236 */       writer.writeRow(new String[] { filterId.getStatString(), filterId.getTemplate() });
/*     */     }
/* 238 */     writer.close();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public abstract String encodeValue(String paramString);
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   protected String encloseFilterIfNot(String filterString)
/*     */   {
/* 251 */     if ((filterString.startsWith("(")) && (filterString.endsWith(")"))) {
/* 252 */       return filterString;
/*     */     }
/* 254 */     return "(" + filterString + ")";
/*     */   }
/*     */   
/*     */ 
/*     */   public abstract ZLdapFilter hasSubordinates();
/*     */   
/*     */ 
/*     */   public abstract ZLdapFilter createdLaterOrEqual(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter anyEntry();
/*     */   
/*     */   public abstract ZLdapFilter fromFilterString(FilterId paramFilterId, String paramString)
/*     */     throws LdapException;
/*     */   
/*     */   public abstract ZLdapFilter andWith(ZLdapFilter paramZLdapFilter1, ZLdapFilter paramZLdapFilter2);
/*     */   
/*     */   public abstract ZLdapFilter negate(ZLdapFilter paramZLdapFilter);
/*     */   
/*     */   public String presenceFilter(String attr)
/*     */   {
/* 274 */     return String.format("(%s%s%s)", new Object[] { attr, "=", "*" });
/*     */   }
/*     */   
/*     */   public String equalityFilter(String attr, String value, boolean valueIsRaw) {
/* 278 */     return String.format("(%s%s%s)", new Object[] { attr, "=", valueIsRaw ? encodeValue(value) : value });
/*     */   }
/*     */   
/*     */   public String greaterOrEqualFilter(String attr, String value, boolean valueIsRaw)
/*     */   {
/* 283 */     return String.format("(%s%s%s)", new Object[] { attr, ">=", valueIsRaw ? encodeValue(value) : value });
/*     */   }
/*     */   
/*     */ 
/*     */   public String lessOrEqualFilter(String attr, String value, boolean valueIsRaw)
/*     */   {
/* 289 */     return String.format("(%s%s%s)", new Object[] { attr, "<=", valueIsRaw ? encodeValue(value) : value });
/*     */   }
/*     */   
/*     */ 
/*     */   public String startsWithFilter(String attr, String value, boolean valueIsRaw)
/*     */   {
/* 295 */     return String.format("(%s%s%s%s)", new Object[] { attr, "=", valueIsRaw ? encodeValue(value) : value, "*" });
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public String endsWithFilter(String attr, String value, boolean valueIsRaw)
/*     */   {
/* 302 */     return String.format("(%s%s%s%s)", new Object[] { attr, "=", "*", valueIsRaw ? encodeValue(value) : value });
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public String substringFilter(String attr, String value, boolean valueIsRaw)
/*     */   {
/* 309 */     return String.format("(%s%s%s%s%s)", new Object[] { attr, "=", "*", valueIsRaw ? encodeValue(value) : value, "*" });
/*     */   }
/*     */   
/*     */   public abstract ZLdapFilter addrsExist(String[] paramArrayOfString);
/*     */   
/*     */   public abstract ZLdapFilter allAccounts();
/*     */   
/*     */   public abstract ZLdapFilter allAccountsOnly();
/*     */   
/*     */   public abstract ZLdapFilter allAdminAccounts();
/*     */   
/*     */   public abstract ZLdapFilter allNonSystemAccounts();
/*     */   
/*     */   public abstract ZLdapFilter allNonSystemArchivingAccounts();
/*     */   
/*     */   public abstract ZLdapFilter allNonSystemInternalAccounts();
/*     */   
/*     */   public abstract ZLdapFilter accountByForeignPrincipal(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountByMemberOf(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter adminAccountByRDN(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter accountsHomedOnServer(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountsHomedOnServerAccountsOnly(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter homedOnServer(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountsOnServerAndCosHasSubordinates(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter accountsOnUCService(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter externalAccountsHomedOnServer(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter accountsByGrants(List<String> paramList, boolean paramBoolean1, boolean paramBoolean2);
/*     */   
/*     */   public abstract ZLdapFilter CMBSearchAccountsOnly();
/*     */   
/*     */   public abstract ZLdapFilter CMBSearchAccountsOnlyWithArchive();
/*     */   
/*     */   public abstract ZLdapFilter CMBSearchNonSystemResourceAccountsOnly();
/*     */   
/*     */   public abstract ZLdapFilter allAliases();
/*     */   
/*     */   public abstract ZLdapFilter allCalendarResources();
/*     */   
/*     */   public abstract ZLdapFilter calendarResourceByForeignPrincipal(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter calendarResourceById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter calendarResourceByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter calendarResourcesHomedOnServer(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allCoses();
/*     */   
/*     */   public abstract ZLdapFilter cosById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter cosesByMailHostPool(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter cosesOnUCService(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allDataSources();
/*     */   
/*     */   public abstract ZLdapFilter dataSourceById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter dataSourceByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allDistributionLists();
/*     */   
/*     */   public abstract ZLdapFilter distributionListById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter distributionListByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter distributionListsByMemberAddrs(String[] paramArrayOfString);
/*     */   
/*     */   public abstract ZLdapFilter allDynamicGroups();
/*     */   
/*     */   public abstract ZLdapFilter dynamicGroupById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter dynamicGroupByIds(String[] paramArrayOfString);
/*     */   
/*     */   public abstract ZLdapFilter dynamicGroupByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter dynamicGroupDynamicUnitByMailAddr(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter dynamicGroupsStaticUnitByMemberAddr(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allGroups();
/*     */   
/*     */   public abstract ZLdapFilter groupById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter groupByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allDomains();
/*     */   
/*     */   public abstract ZLdapFilter domainAliases(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainsByIds(Collection<String> paramCollection);
/*     */   
/*     */   public abstract ZLdapFilter domainByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainByKrb5Realm(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainByVirtualHostame(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainByForeignName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter domainLabel();
/*     */   
/*     */   public abstract ZLdapFilter domainLockedForEagerAutoProvision();
/*     */   
/*     */   public abstract ZLdapFilter domainsOnUCService(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter globalConfig();
/*     */   
/*     */   public abstract ZLdapFilter allIdentities();
/*     */   
/*     */   public abstract ZLdapFilter identityByName(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allMimeEntries();
/*     */   
/*     */   public abstract ZLdapFilter mimeEntryByMimeType(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allServers();
/*     */   
/*     */   public abstract ZLdapFilter serverById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter serverByService(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter serverByAlwaysOnCluster(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter serverByServiceAndAlwaysOnCluster(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter allAlwaysOnClusters();
/*     */   
/*     */   public abstract ZLdapFilter alwaysOnClusterById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allUCServices();
/*     */   
/*     */   public abstract ZLdapFilter ucServiceById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter shareLocatorById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allSignatures();
/*     */   
/*     */   public abstract ZLdapFilter signatureById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allXMPPComponents();
/*     */   
/*     */   public abstract ZLdapFilter imComponentById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter xmppComponentById(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter allZimlets();
/*     */   
/*     */   public abstract ZLdapFilter memberOf(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllAccountsByDomain(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllAccountsOnlyByDomain(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllCalendarResourcesByDomain(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllAccountsByDomainAndServer(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllAccountsOnlyByDomainAndServer(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllCalendarResourcesByDomainAndServer(String paramString1, String paramString2);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllDistributionListsByDomain(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter velodromeAllGroupsByDomain(String paramString);
/*     */   
/*     */   public abstract ZLdapFilter dnSubtreeMatch(String... paramVarArgs);
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/ldap/ZLdapFilterFactory.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */